<?

//--------clasa Form este folosita pentru a tine evidenta erorilor din
//formularele completate de user---------

class Form
    {
    //pastreaza valorile cu care a fost completat formul
    var $values = array();
    //pastreaza erorile aferente formului
    var $errors = array();
    //nr de erori din form
    var $num_errors;

    //constructorul clasei
    function Form()
        {
        //prinde array-urile cu valorile completate si cu erorile existente dintr-un form
        if (isset($_SESSION['value_array']) && isset($_SESSION['error_array']))
            {
            $this->values    =$_SESSION['value_array'];
            $this->errors    =$_SESSION['error_array'];
            $this->num_errors=count($this->errors);

            unset($_SESSION['value_array']);
            unset($_SESSION['error_array']);
            }
        else
            {
            $this->num_errors=0;
            }
        }

    //inregistreaza valorile campurilor din form
    function setValue($field, $value) { $this->values[$field]=$value; }

    //inregistreaza erorile pentru campurile din form
    function setError($field, $errmsg)
        {
        $this->errors[$field]=$errmsg;
        $this->num_errors    =count($this->errors);
        }

    //returneaza valoarea unui anumit camp
    //daca este gol, returneaza un string gol
    function value($field)
        {
        if (array_key_exists($field, $this->values))
            {
            return htmlspecialchars(stripslashes($this->values[$field]));
            }
        else
            {
            return "";
            }
        }

    //returneaza eroarea pentru un anumit camp
    //daca nu exista eroarea, este returnat un string gol
    function error($field)
        {
        if (array_key_exists($field, $this->errors))
            {
            return "<font size=\"2\" color=\"#FF0033\">" . $this->errors[$field] . "</font>";
            }
        else
            {
            return "";
            }
        }

    //returneaza array-ul cu erorile
    function getErrorArray(){ 
    	return $this->errors; 
    }
};
?>